home *** CD-ROM | disk | FTP | other *** search
-
- -URDooR- Version 3.20
- Compiled 05/01/95
- Copyrighted (c) 1993-95 by Kenneth Bledsoe
-
-
-
- INTRODUCTION
-
-
-
-
- URDooR is a complete set of Turbo Pascal routines designed to
- enable programmers to easily write DooRs for a BBS. The following
- is a just a few of URDooR's features:
-
-
- Assembly language serial input/output routines for
- speed and efficiency.
-
- Full support of speeds up to 115,00 baud and the 16550
- FIFO.
-
- ANSi emulation is provided , so no need for ANSi.SYS
- driver to be resident.
-
- Support for all the popular dropfile formats.
- EX. QBBS, WildCat, SpitFire, PCboard 1.5x Etc....
-
- Note: Command Line options are available so no need for DropFiles;
-
- Does not need a fossil driver..
-
- Support for comports 1-4, on interrupts 1-7..
-
- Multi-Tasker Aware..Ex.. WIN-NT,DV,OS/2, Etc... and will give up
- timeslices while waiting for user input.
-
- New Features in 3.10:
-
- 1. URRip Function Added
-
-
- USING URDooR
-
-
-
- The only requirements needed to integrate URDooR into your
- program are the following two lines in your program:
-
- {$M,$4000,0,0}
- Uses URDooR;
-
-
- The first line is a {$M} compiler directive and is necessary to
- enable URDooR's Drop to DOS function. If this line is omitted
- from your program this function will not be enabled. Note: This
- directive also affects your program,s heap space. Be sure to
- adjust the final to values accordingly if you dynamically
- allocate memory.
-
- The second line is a "uses" statement that simply instructs Turbo
- Pascal to include the URDooR.TPU unit in your program.
-
-
- Running Your URDooR DooR
-
-
- To run a URDooR based program, at least one command line
- parameter is required:
-
- Example: Door Config
-
- Where Door is the name of the executable file and Config is the
- name of the configuration file. The configuration file can be any
- name, but it must be an ASCii text file in the following format:
-
- Line 1: BBS Type
- Line 2: Path and Filename of dropfile
- Line 3: BBS Name
- Line 4: Sysop's First Name
- Line 5: Sysop's Last Name
- Line 6: Comport Interrupt {A value between 1-7} {0=Use Fossil}
- Line 7: Use Error Log {Value TRUE or FALSE}
-
-
-
- Here is an example config file.
- Note: This file should be have been included with your copy of
- URDooR as URDooR.CFG
-
- RA
- C:\RA\DORINFO1.DEF
- The Outer Limits
- Kenneth
- Bledsoe
- 3
- TRUE
-
- NOTE: ALL LINES MUST BE PRESENT, but URDooR will not read past line 7..
-
- EXTENDED LINE DEFINITIONS:
-
-
- LINE ONE:
-
- Supported BBS Types for Line 1 are as follows..
-
- Dorinfo.def : Line 1 should read RA for Remote Access
- compatible dorinfo.def dropfile format...
-
- Callinfo.bbs : Line 1 should read WC2 for Wildcat vers 2
- compatible dropfile format...
-
- Door.sys : Line 1 should read WC3 for Wildcat vers 3
- compatible dropfile format...
-
- PCboard.SYS : Line 1 should read PCB for PCBoard 1.5x
- support.
-
- SFDooRs.dat : Line 1 should read SF for SpitFire compatible
- dropfile format...
-
-
- CommandLine : Line 1 should read CL if you plan on passing user
- info to the door through command line options versus
- a supported dropfile...
-
- LINE TWO:
- Must have the full path and name of the dropfile in
- it, unless CL is used in the first line then this line can
- be left blank..
-
- LINE THREE:
- The Name of the BBS to be Passed to URDooR..
-
- LINE FOUR & FIVE:
- The First and Last Name of Sysop to be Passed to URRooR respectivly;
-
-
- LINE SIX:
-
- Comport interrupt supports for line 6 are as follows..
-
- The value in line 6 is the interrupt of the comport
- given in the dropfile. Valid interrupts are 0,1,2,3,4,5,6, & 7..
- If you have problems with your program, this is the first
- place to check. If the wrong interrupt is requested, your
- computer will probably Hang...
-
- NOTE: If you pass < 0 > as the IRQ requested then the unit will
- use the Fossil driver. {If one is loaded. If not it will error
- out with the error 'No Fossil Driver loaded"}
-
-
- LINE SEVEN:
-
- Enables or Disables use of error logging..
-
- If line 7 reads TRUE when an error occurs it is written in
- he current directory to a file named ERRORLOG. This can be
- disabled by specifying FALSE instead.
-
-
-
-
-
-
- To run a URDooR DooR Locally specify local in the command line
- following the configuration file name.
-
- Ex. Door Door1.cfg Local
-
-
-
- The Command Line Option:
-
- If you plan on using this option please note line two in the config file still has
- to present though it can be left blank.
-
- Parameter(1) should be the name of the Config file the door will use.
- Parameter(2) Will enable or disable ANI graphics..
- Note: If 'ANSI','1','GR','COLOR', or 'TRUE' or passed to
- this paramter ANSI will be set to true Else ANSi will
- be disabled. If your BBS passes something else here
- you can always ask the user if he wants graphics and
- enable them with the ANSi Global variable..
- Or just contact me and I can update the Unit..
- Parameter(3) Pass the Baud Rate Here
- Note: Legal Values are {IF 0 passed then Local set to True}
- 0,300,600,1200,2400,4800,9600,19200,38400,57600,115200
- Parameter(4) Pass the User First Name Here
- Parameter(5) Pass the User Last Name Here
- Paramater(6) Pass ComPort Here
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- FUNCTION KEYS
-
-
- The following list contains the function keys available to the
- sysop while a door is running:
-
-
- Key(s) Function
-
- [F1] Toggles between the user status window and a
- help display that displays the function keys
- available.
-
- [F2] Activates chat mode.
- Note: To exit chat mode press the ESC key.
-
- [F3] Allows the sysop to drop to DOS on the local
- console. Displays appropriate message to
- user.
-
- [F4] Terminates door, without hanging up caller.
-
- [F10] Terminates door and hangs up caller.
-
- GLOBAL VARIABLES
-
-
- The following are global variables provided for your convience:
-
-
- ANSi: boolean;
-
- Set to true if caller has ANSi color graphics enabled or
- false if monocrome.
-
- Baud : Longint;
-
- Contains the connected baud rate;
-
- BBSName : String[25];
-
- Contains the name of the BBS.
-
- DooRName : String[25];
-
- Contains the name of the door running. This will be
- displayed in the user status window. Note: It is the door
- author's responsibility to assign a value to this variable.
-
- OpSyS : String[7];
-
- Contains the name of the operating system currently running;
- ex.. "WINDOWS" "DOS" etc..
-
-
- Sec : Longint;
-
- Contains the security level of the urer on line.
-
- SysopF : String;
-
- Contains the first name of the sysop.
-
- SysopL : String;
-
- Contains the last name of the sysop.
-
- TimeLeft : Longint;
-
- Contains the number of minutes remaing for the user on line.
-
- TimeOn : Longint;
-
- Contains the number of minutes the user has been on line.
-
- UserF : String;
-
- Contains the first name of the user on line.
-
-
- UserL : String;
-
- Contains the last name of the user on line.
-
- UserLoc: String;
-
- Contains the location of the user on line.
-
-
-
- URDooR Procedures and Functions
-
-
- The following is a description of the procedure and functions
- provided by URDooR:
-
- procedure URcleol;
-
- The URcleol will clear the line from the cursor postion to the
- end of the line and then return the cursor to its previous
- position;
-
- Procedure URcls;
-
- The URcls procedure clears both the local and remote screen
- and returns the cursor to the upper left corner;
-
-
- Function URdisplayfile(Filename: String;Pause: Boolean;): Boolean;
-
- The URdisplayfile procedure will display an ANSi/ASCii file
- to both the local and remote screen. If pause is true then
- the file will pause every 24 lines.
- NOTE: If If the file has ANSI code embeded in it and the user
- has has disabled then the ANSI codes will be stripped from
- the file..I am considering adding VT100 emulation.. If you think
- I should add this please contact me.. If a few people reply I
- will add it in the next release.
-
- Note: This Function now returns a value of false if it us unable to
- display the file. ex. File not found or File Access Denied etc..
-
- Function URbackcolor: Byte;
-
- The URbackcolor function will return the current background
- color in the URsetcolor format.
-
-
- Function URforecolor: Byte;
-
- The URforecolor function will return the current foreground
- color in the URsetcolor format.
-
- Procedure URgotoxy(X,Y: Shortint);
-
- The URgotoxy procedure will move the cursor to the new
- position on the local and remote screens. If X,Y are invalid
- locations then their values are adjusted to the nearested
- valid value.
- NOTE: This procedure will be ignored if ANSi is False.
-
- Function URKeyPressed: Boolean;
-
- The URKeyPressed function returns a value of true if a key
- has been pressed on either the local or remote keyboards.
- The key that was pressed will be returned by the next call
- URreadkey..
- NOTE: This function does not detect extended keys, such
- [F1],Alt,Ctrl Keys...
-
- Function URreadkey: Char;
-
- The URreadkey function will return the first character
- entered on either the local or remote console.
- Note: The Character will not be echoed to the screen.
-
-
- Function URreadi: Integer;
-
- The URreadi function will return a integer value from either
- the local or remote console.
-
-
- Function URreadli: Longint;
-
- The URreadli function will return a longinteger value from
- either the local or remote console;
-
-
- Function URreadstr: String;
-
- The URreadstr function will return a string value from
- either the local or remote console;
-
- Function URreadstr: StringLen(Len : byte);
-
- The URreadstr function will return a string value from
- either the local or remote console up to the length of
- the value < len > passed to it;
-
-
- Procedure URrefreshscreen;
-
- The URrefreshscreen procedure will save the current local
- screen, Then clear both the local and remote screens, and
- finally restore the local and remote screens.
- NOTE1: Saves the first 24 lines ONLY of the local screen.
- NOTE2: Use as a Refresh command in your programs, so a user
- can refresh a screen that might have gotten garbled
- due to line noise.
-
-
- Procedure URrestorescreen;
-
- The URrestorescreen procedure will restore the screen
- previously stored by URsavescreen to the local and remote
- displays.
- Note: URsavescreen MUST BE called First.
-
- Function URRip: Boolean;
-
- The URRip function will attempt to detect if the remote caller has
- RIP graphics enabled. If so this function will return true.
-
-
- Procedure URsavescreen;
-
- The URsavescreen procedure will save the current local
- screen to a variable to be restored by URRestorescreen.
- Note1: Saves ONLY the first 24 lines.
- Note2: Probably will never need to be used.
-
-
-
- Procedure URsetcolor(F,B:Byte);
-
- The URsetcolor procedure sets the foreground color ('F') and
- the background color ('B') for the local and remote
- displays.
- Note: If ANSI is disabled this procedure is ignored.
-
- Foreground Colors Background Colors
-
- 0 - Black 0 - Black
- 1 - Blue 1 - Blue
- 2 - Green 2 - Green
- 3 - Cyan 3 - Cyan
- 4 - Red 4 - Red
- 5 - Magneta 5 - Magneta
- 6 - Brown 6 - Brown
- 7 - LightGray 7 - LightGray
- 8 - DarkGray
- 9 - LightBlue
- 10 - LightGreen
- 11 - LightCyan
- 12 - LightRed
- 13 - LightMagneta
- 14 - Yellow
- 15 - White
-
- NOTE: Add 16 to the Foreground color to enable Blink.
-
- Function URsc(F,B:Byte): string;
-
- The URsc function is exactly the same as the URsetcolor procedure
- except that it will return a string and allow URwrite & URwriteln
- to set the approprate color..
- Ex(URwrite(URsc(14,0)+'This Text Will Be In YELLOW'));
- NOTE: If ANSi is not enabled the URwrite & URwriteln will ignore
- the URsc color commands...
-
-
- Procedure URwrite(Anystr: String);
-
- The URwrite procedure will send a string to the local and
- remote displays.
-
-
- Procedure URwriteln(Anystr: String);
-
- The URwriteln procedure will send a string to the local and
- remote displays followed by a cariage return and linefeed.
-
-
- Procedure URwritei(Anyi: Integer);
-
- The URwritei procedure will send a integer to the local and
- remote displays.
- Note: NO carrieage return is sent. If required, call
- URwriteln with a blank string. Ex. URwriteln('');
-
-
- Procedure URwriteli(Anyli: Integer);
-
- The URwriteli procedure will send a longinteger to the local
- and remote display with no carriage return.
- Note: NO carriage return is sent. If required, call
- URwriteln with a blank string. Ex. URwriteln('');
-
-
- NOTE: URDooR still uses its own exit procedures but NO longer passes
- an exitcode. So you can freely pass your own exit code to your
- own Exit procedure if you write one.
-
-
-
-
-
-
- SUPPORT
-
- You can obtain support by contacting my BBS:
-
- Kenneth Bledsoe
- The Outer Limits
- (713)344-0526 BBS
- FIDO@1:106/50
-
- The latest version of URDooR can FREQ under the MAGIC name URDOOR
-
- The latest release information is also available..
-
- Or you can send me netmail to 1:106/50
-
-
- Support to unregistered users is on an As I Can basis..But I will
- do my best to reply within 24 hours to all problems.
-
-
- To register please print the file Register.DOC.
-
-